package com.xzakota.minesweeper.util;

/**
 * 数组工具类
 *
 * @author Xzakota
 */
public class ArrayUtils {
    /**
     * 连接（合并）数组
     *
     * @param a   数组 1
     * @param b   数组 2
     * @param <T> T
     * @return 新数组
     */
    @SuppressWarnings("unchecked")
    public static <T> T[] concatenate(T[] a, T[] b) {
        int length = a.length + b.length;

        T[] result = (T[]) java.lang.reflect.Array.newInstance(a.getClass().getComponentType(), length);

        System.arraycopy(a, 0, result, 0, a.length);
        System.arraycopy(b, 0, result, a.length, b.length);

        return result;
    }
}
